There was once a time when computers were used only by scientists and mathmaticians. Computers today are so pervasive in modern society that they somehow touch the lives of nearly every inhabitant of an industrialized nation on a daily basis. Record-keeping, word processing, data base access and manipulation, communications, personal scheduling, financial bookkeeping and automatic control functions are a few of the plethora of applications for which computers are being used. The use of computers will become even more widespread as computer hardware and software increases in sophistication, power and efficiency and decreases in cost.
Despite the pervasiveness of computers in the modern world, many people are apprehensive about using computers. Most sophisticated computer systems require a user to have technical knowledge if he is to effectively interact with the computer system. User commands to the computer system typically must be typed into an alphanumeric keyboard which provides the principal means of communication between the user and the computer system. User commands must be correctly formatted, and the user often must have a knowledge of the function performed by the computer, rather than simply desire a result to be achieved, in order to truly effectively interact with the computer system. For instance, to edit a document using a typical computer system, a user must type a plurality of commands into an alphanumeric keyboard. Individual commands load the document to be edited from a permanent storage device into a random access memory, call up the editor routine, store the edited version of the document on the permanent storage device, etc. The command strings often are mnemonics for the actual functions which the computer system must perform on the information to be processed.
Unfortunately, an unsophisticated or nontechnical user may have a desired result in mind but have no idea what steps the computer system must perform to accomplish the result.
It takes many long hours of experimentation and instruction to learn how to effectively interact with modern sophisticated computer systems. Many people (such as, for example, business executives, accountants, physicians, attorneys, secretaries, etc.) who would greatly benefit from the vast information handling capabilities which computer systems provide have neither the time nor the inclination to learn high-level computer programming languages or even sophisticated user environment command protocol. Besides, many such users are intimidated by the extremely technical computer "jargon" one uses to communicate with a computer.
One of the principal limitations on the "user friendliness" of a computer system is the nature of the physical device through which the user communicates with the computer. Most systems provide an alphanumeric keyboard as the principal input peripheral device. The user may depress one or a series of keys on the keyboard to communicate character or numeric symbols to the computer. Unless the user is familiar with the layout of alphanumeric keyboards and is a reasonably good typist, data entry can be inconvenient and time consuming. Moreover, alphanumeric keyboards are physically large and may provide more input capability than is typically needed by many users. For instance, an accountant might rarely need to input character information into his or her computer, but typically input mostly numeric information. Software has been developed and introduced which places the user in a relatively "user-friendly" environment by establishing simple command protocols by which the user communicates with the computer system to accomplish a desired result. The amount and complexity of data entry needed to interact with this sort of "user-friendly" environment is considerably reduced. Software now exists which permits a user to command a computer to perform a large number of extremely complex functions by inputting only a few keystrokes. This trend will no doubt continue as more application-specific software is developed.
The mouse pointing device has recently become a popular add-on to computer systems to facilitate data entry. A mouse pointing device generates signals corresponding to the direction and distance (i.e., displacement) which it is physically moved across a flat surface by a user. These signals are normally used to control the position of a cursor on the computer display. Mouse pointing devices provide a much easier way to change cursor position than was previously provided by the tab key and cursor control keys (up-arrow, left-arrow, down-arrow and right-arrow) (.uparw., .rarw., .dwnarw., .fwdarw.) of an alphanumeric keyboard. Mouse pointing devices are presently available from a number of different manufacturers, such as Logitech, Co., Mouse Systems Co., and MicroSoft.
Of course, many computer terminals include a numeric switch array on one side of the alphanumeric keyboard (in addition to the numerical keys which comprise the top row of such a typical alphanumeric keyboard) to facilitate numeric data entry. Some terminals also include a special function keypad which is designed to provide data entry to interact with specialized or user-defined software functions. For instance, the CMS interactive user environment developed by IBM for its main-frame computer systems is designed to communicate with an alphanumeric keyboard which includes twelve function keys (labeled PF1-PF12). The CMS environment includes facilities permitting a user to specify one or more CMS commands, which are to be sent to the computer system upon the depression of a particular one of the function keys. Some of the software designed to run under the supervision of CMS also dedicates the function keys to different software utility functions to facilitate user interaction.
Prior art alphanumeric keyboards which include both a function key matrix and a numerical key matrix are typically of single-unit construction, requiring that a user ensconce himself or herself behind a relatively large, imposing (and often intimidating) console to interact with the computer system. This physical environment is not particularly conducive to free and easy interaction between the computer and a non-technical person, and often instills terror in those non-technical people who have had bad experiences with automatic bank teller machines and the like and those who are "button-shy". Moreover, a full-sized control console is not particularly attractive and would detract from the decor of the well-furnished office of a business executive. Finally, full-sized alphanumeric keyboard consoles are so physically large that they must often be fixedly positioned, requiring that the user position himself or herself behind such consoles even though the user might be more confortable elsewhere.